The present invention relates generally to windows-based computer applications, and more particularly to a user interface mechanism for manipulating context in windows-based computer applications, such as network and systems applications.
Many computer environments employ windows having graphical user interface (GUI) capabilities that aid the user in interacting with various applications in a straight-forward and intuitive manner. Whether the user is operating a stand-alone computer, a networked computer, or other equipment in the computer environment, graphical user interfaces presented in windows have become the environment of choice for many users rather than command line interfaces. The windows-based computer environment enables the user to access any number of computer applications simply by opening an appropriate window for the desired application.
Typically a user operating in a windows-based computer environment must open a new window each time that a new application is to be used. Many applications do not have all of the functionality needed to accomplish all aspects of a user""s job (e.g. editing graphics). Assume that a user has two graphical editing applications, one application provides editing capabilities for vector graphics and the other provides editing of pixel-based graphics. If the user has been editing vector graphics with one application and now wants to edit pixel-based graphics, the user must first open a second graphics editing application in a new window. It is not currently possible to access the pixel-based graphics editing application from the open application for editing vector graphics since a separate window must be opened for each application. There is therefore a requirement of a one-to-one correspondence between a computer application and a window that supports the application. For anyone using a sizable number of windows-based applications, this means that the user must open a great number of windows.
A disadvantage of this requirement is that any open window must be managed by a window manager of the graphical user interface (GUI) that produces and drives windows on a display. A window manager is a software program or module that defines the parameters of windows and generates the windows. The more windows that are open in a computer environment, the more that overhead associated with window manager programs will slow down the operation of the environment. The excess of windows also creates cognitive overhead for the user in that they have to deal with minimizing, restoring, and moving windows to be able to interact with the separate applications.
Another common characteristic of graphical user interfaces, particularly for those addressing network systems and service management, is that they primarily provide a single view of objects and a single set of capabilities for manipulating the objects they present. Typically there is no means to see objects from different perspectives. For example, if a user is accessing an application to look at the configuration of a computer, they cannot easily see that same computer from the perspective of where it sits in a network and how it communicates with other computers. To do this users typically need to bring up separate applications and take actions to locate the desired object in both. And if the user can see the objects from different perspectives, the different perspectives and related functionality are typically intermixed causing an overload of functionality.
A somewhat less common aspect of graphical user interfaces is the use of information about the current context to aid the user in performing tasks. For instance, information on where the pointer is located when the mouse is clicked is used to filter pop-up menus. Information on the pointer position or specific location in an application is used to provide context sensitive help. However, there has been no attempt to use context at a higher level to provide users with different information sets or different perspectives on a given information set. User task performance would greatly benefit from an explicit mechanism by which users can designate the perspective they want to take in interacting with a set of applications. Applications could then use this contextual information to determine the type of data and functionality to be presented, the manner in which the data will be presented (e.g., different layouts based on the types of object relationships that are associated with the context), and the default parameters to be used (e.g., systems may be polled every 30 minutes in a system context to make sure they are up and running; however, in an application context they may be polled every 10 minutes to determine if the application is still running).
There is therefore an unmet need in the art to be able to minimize the number of windows that are required for related applications or application functionality. Additionally, there is an unmet need in the art to allow users to designate a context and have applications share relevant contextual information in such a way that will allow for the presentation of data and functionality based on the perspective associated with that context.
It is therefore an object of the present invention to be able to minimize the number of windows that are required for related applications or application functionality in a windows-based computer environment.
It is a further object of the present invention to allow users to quickly see objects from different perspectives and to have the visible functionality in a window restricted to that perspective.
Therefore, according to the present invention, a method and structure for providing contextual information to a user of a windows-based computer environment is provided. After opening a window having a user interface, such as a graphical user interface (GUI), the user can manipulate a context control feature of the user interface to determine the context of the window. The context control feature may be subsequently manipulated to readily define new window contexts as required. This method is capable of being implemented by a computer program of a computer-readable medium. The context of the window refers to a view or views of objects that appear in the window, their relationships, selections made by the user, and capabilities for manipulating the objects. The context control feature may be a context list box, a context tab, or other control feature of the user interface.
The user interface of the window has at a minimum the context control feature and a content pane. The user manipulates the context control feature to determine a context of the window that is illustrated in the content pane. The user interface may additionally have a scoping pane that provides more detail about the context, thereby allowing the user to specify specific views of the context. Menus of a menu bar and toolbar buttons of a toolbar of the user interface are defined by the context chosen by the user. Thus, when the user changes from a first context to a second context, the scoping pane, menus and toolbar buttons will change as necessary to be in accordance with the second context.